package br.com.foxinline.modelo;

import br.com.foxinline.enums.TipoAverbacao;
import br.com.foxinline.generico.EntidadeGenerica;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

/**
 *
 * @author laverson
 */
@Entity
public class AverbacaoAforamento extends EntidadeGenerica implements Serializable {

    @Id
    @SequenceGenerator(sequenceName = "seq_averbacao_aforamento", name = "seq_averbacao_aforamento", allocationSize = 1)
    @GeneratedValue(generator = "seq_averbacao_aforamento", strategy = GenerationType.SEQUENCE)
    private Long id;
    @ManyToOne
    private AverbacaoAforamento averbacao;
    private TipoAverbacao tipoAverbacao;
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    private Date dataAverbacao;
    private String descricao;
    private String despachoNumero;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date despachoData;
    private String peticaoRequerimentoNumero;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date peticaoRequerimentoData;
    private String autoMedicaoDemarcacao;
    private String autoMedicaoDemarcacaoLivro;
    private String autoMedicaoDemarcacaoFolha;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date autoMedicaoDemarcacaoData;
    private String frente;
    private String frenteRua;
    private String frenteMedindo;
    private String fundo;
    private String fundoRua;
    private String fundoMedindo;
    private String ladoEsquerdo;
    private String ladoEsquerdoRua;
    private String ladoEsquerdoMedindo;
    private String ladoDireito;
    private String ladoDireitoRua;
    private String ladoDireitoMedindo;
    private BigDecimal frenteTotal;
    private BigDecimal fundoTotal;
    private BigDecimal areaTotal;
    private Boolean ativo;

    public AverbacaoAforamento() {
        this.ativo = true;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public AverbacaoAforamento getAverbacao() {
        return averbacao;
    }

    public void setAverbacao(AverbacaoAforamento averbacao) {
        this.averbacao = averbacao;
    }

    public TipoAverbacao getTipoAverbacao() {
        return tipoAverbacao;
    }

    public void setTipoAverbacao(TipoAverbacao tipoAverbacao) {
        this.tipoAverbacao = tipoAverbacao;
    }

    public Date getDataAverbacao() {
        return dataAverbacao;
    }

    public void setDataAverbacao(Date dataAverbacao) {
        this.dataAverbacao = dataAverbacao;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getDespachoNumero() {
        return despachoNumero;
    }

    public void setDespachoNumero(String despachoNumero) {
        this.despachoNumero = despachoNumero;
    }

    public Date getDespachoData() {
        return despachoData;
    }

    public void setDespachoData(Date despachoData) {
        this.despachoData = despachoData;
    }

    public String getPeticaoRequerimentoNumero() {
        return peticaoRequerimentoNumero;
    }

    public void setPeticaoRequerimentoNumero(String peticaoRequerimentoNumero) {
        this.peticaoRequerimentoNumero = peticaoRequerimentoNumero;
    }

    public Date getPeticaoRequerimentoData() {
        return peticaoRequerimentoData;
    }

    public void setPeticaoRequerimentoData(Date peticaoRequerimentoData) {
        this.peticaoRequerimentoData = peticaoRequerimentoData;
    }

    public String getAutoMedicaoDemarcacao() {
        return autoMedicaoDemarcacao;
    }

    public void setAutoMedicaoDemarcacao(String autoMedicaoDemarcacao) {
        this.autoMedicaoDemarcacao = autoMedicaoDemarcacao;
    }

    public String getAutoMedicaoDemarcacaoLivro() {
        return autoMedicaoDemarcacaoLivro;
    }

    public void setAutoMedicaoDemarcacaoLivro(String autoMedicaoDemarcacaoLivro) {
        this.autoMedicaoDemarcacaoLivro = autoMedicaoDemarcacaoLivro;
    }

    public String getAutoMedicaoDemarcacaoFolha() {
        return autoMedicaoDemarcacaoFolha;
    }

    public void setAutoMedicaoDemarcacaoFolha(String autoMedicaoDemarcacaoFolha) {
        this.autoMedicaoDemarcacaoFolha = autoMedicaoDemarcacaoFolha;
    }

    public Date getAutoMedicaoDemarcacaoData() {
        return autoMedicaoDemarcacaoData;
    }

    public void setAutoMedicaoDemarcacaoData(Date autoMedicaoDemarcacaoData) {
        this.autoMedicaoDemarcacaoData = autoMedicaoDemarcacaoData;
    }

    public String getFrente() {
        return frente;
    }

    public void setFrente(String frente) {
        this.frente = frente;
    }

    public String getFrenteRua() {
        return frenteRua;
    }

    public void setFrenteRua(String frenteRua) {
        this.frenteRua = frenteRua;
    }

    public String getFrenteMedindo() {
        return frenteMedindo;
    }

    public void setFrenteMedindo(String frenteMedindo) {
        this.frenteMedindo = frenteMedindo;
    }

    public String getFundo() {
        return fundo;
    }

    public void setFundo(String fundo) {
        this.fundo = fundo;
    }

    public String getFundoRua() {
        return fundoRua;
    }

    public void setFundoRua(String fundoRua) {
        this.fundoRua = fundoRua;
    }

    public String getFundoMedindo() {
        return fundoMedindo;
    }

    public void setFundoMedindo(String fundoMedindo) {
        this.fundoMedindo = fundoMedindo;
    }

    public String getLadoEsquerdo() {
        return ladoEsquerdo;
    }

    public void setLadoEsquerdo(String ladoEsquerdo) {
        this.ladoEsquerdo = ladoEsquerdo;
    }

    public String getLadoEsquerdoRua() {
        return ladoEsquerdoRua;
    }

    public void setLadoEsquerdoRua(String ladoEsquerdoRua) {
        this.ladoEsquerdoRua = ladoEsquerdoRua;
    }

    public String getLadoEsquerdoMedindo() {
        return ladoEsquerdoMedindo;
    }

    public void setLadoEsquerdoMedindo(String ladoEsquerdoMedindo) {
        this.ladoEsquerdoMedindo = ladoEsquerdoMedindo;
    }

    public String getLadoDireito() {
        return ladoDireito;
    }

    public void setLadoDireito(String ladoDireito) {
        this.ladoDireito = ladoDireito;
    }

    public String getLadoDireitoRua() {
        return ladoDireitoRua;
    }

    public void setLadoDireitoRua(String ladoDireitoRua) {
        this.ladoDireitoRua = ladoDireitoRua;
    }

    public String getLadoDireitoMedindo() {
        return ladoDireitoMedindo;
    }

    public void setLadoDireitoMedindo(String ladoDireitoMedindo) {
        this.ladoDireitoMedindo = ladoDireitoMedindo;
    }

    public BigDecimal getAreaTotal() {
        return areaTotal;
    }

    public void setAreaTotal(BigDecimal areaTotal) {
        this.areaTotal = areaTotal;
    }

    public BigDecimal getFrenteTotal() {
        return frenteTotal;
    }

    public void setFrenteTotal(BigDecimal frenteTotal) {
        this.frenteTotal = frenteTotal;
    }

    public BigDecimal getFundoTotal() {
        return fundoTotal;
    }

    public void setFundoTotal(BigDecimal fundoTotal) {
        this.fundoTotal = fundoTotal;
    }

    public Boolean getAtivo() {
        return ativo;
    }

    public void setAtivo(Boolean ativo) {
        this.ativo = ativo;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 97 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 97 * hash + (this.averbacao != null ? this.averbacao.hashCode() : 0);
        hash = 97 * hash + (this.tipoAverbacao != null ? this.tipoAverbacao.hashCode() : 0);
        hash = 97 * hash + (this.dataAverbacao != null ? this.dataAverbacao.hashCode() : 0);
        hash = 97 * hash + (this.descricao != null ? this.descricao.hashCode() : 0);
        hash = 97 * hash + (this.despachoNumero != null ? this.despachoNumero.hashCode() : 0);
        hash = 97 * hash + (this.despachoData != null ? this.despachoData.hashCode() : 0);
        hash = 97 * hash + (this.peticaoRequerimentoNumero != null ? this.peticaoRequerimentoNumero.hashCode() : 0);
        hash = 97 * hash + (this.peticaoRequerimentoData != null ? this.peticaoRequerimentoData.hashCode() : 0);
        hash = 97 * hash + (this.autoMedicaoDemarcacao != null ? this.autoMedicaoDemarcacao.hashCode() : 0);
        hash = 97 * hash + (this.autoMedicaoDemarcacaoLivro != null ? this.autoMedicaoDemarcacaoLivro.hashCode() : 0);
        hash = 97 * hash + (this.autoMedicaoDemarcacaoFolha != null ? this.autoMedicaoDemarcacaoFolha.hashCode() : 0);
        hash = 97 * hash + (this.autoMedicaoDemarcacaoData != null ? this.autoMedicaoDemarcacaoData.hashCode() : 0);
        hash = 97 * hash + (this.frente != null ? this.frente.hashCode() : 0);
        hash = 97 * hash + (this.frenteRua != null ? this.frenteRua.hashCode() : 0);
        hash = 97 * hash + (this.frenteMedindo != null ? this.frenteMedindo.hashCode() : 0);
        hash = 97 * hash + (this.fundo != null ? this.fundo.hashCode() : 0);
        hash = 97 * hash + (this.fundoRua != null ? this.fundoRua.hashCode() : 0);
        hash = 97 * hash + (this.fundoMedindo != null ? this.fundoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdo != null ? this.ladoEsquerdo.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdoRua != null ? this.ladoEsquerdoRua.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdoMedindo != null ? this.ladoEsquerdoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireito != null ? this.ladoDireito.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireitoRua != null ? this.ladoDireitoRua.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireitoMedindo != null ? this.ladoDireitoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.frenteTotal != null ? this.frenteTotal.hashCode() : 0);
        hash = 97 * hash + (this.fundoTotal != null ? this.fundoTotal.hashCode() : 0);
        hash = 97 * hash + (this.areaTotal != null ? this.areaTotal.hashCode() : 0);
        hash = 97 * hash + (this.ativo != null ? this.ativo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final AverbacaoAforamento other = (AverbacaoAforamento) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        if (this.averbacao != other.averbacao && (this.averbacao == null || !this.averbacao.equals(other.averbacao))) {
            return false;
        }
        if (this.tipoAverbacao != other.tipoAverbacao) {
            return false;
        }
        if (this.dataAverbacao != other.dataAverbacao && (this.dataAverbacao == null || !this.dataAverbacao.equals(other.dataAverbacao))) {
            return false;
        }
        if ((this.descricao == null) ? (other.descricao != null) : !this.descricao.equals(other.descricao)) {
            return false;
        }
        if ((this.despachoNumero == null) ? (other.despachoNumero != null) : !this.despachoNumero.equals(other.despachoNumero)) {
            return false;
        }
        if (this.despachoData != other.despachoData && (this.despachoData == null || !this.despachoData.equals(other.despachoData))) {
            return false;
        }
        if ((this.peticaoRequerimentoNumero == null) ? (other.peticaoRequerimentoNumero != null) : !this.peticaoRequerimentoNumero.equals(other.peticaoRequerimentoNumero)) {
            return false;
        }
        if (this.peticaoRequerimentoData != other.peticaoRequerimentoData && (this.peticaoRequerimentoData == null || !this.peticaoRequerimentoData.equals(other.peticaoRequerimentoData))) {
            return false;
        }
        if ((this.autoMedicaoDemarcacao == null) ? (other.autoMedicaoDemarcacao != null) : !this.autoMedicaoDemarcacao.equals(other.autoMedicaoDemarcacao)) {
            return false;
        }
        if ((this.autoMedicaoDemarcacaoLivro == null) ? (other.autoMedicaoDemarcacaoLivro != null) : !this.autoMedicaoDemarcacaoLivro.equals(other.autoMedicaoDemarcacaoLivro)) {
            return false;
        }
        if ((this.autoMedicaoDemarcacaoFolha == null) ? (other.autoMedicaoDemarcacaoFolha != null) : !this.autoMedicaoDemarcacaoFolha.equals(other.autoMedicaoDemarcacaoFolha)) {
            return false;
        }
        if (this.autoMedicaoDemarcacaoData != other.autoMedicaoDemarcacaoData && (this.autoMedicaoDemarcacaoData == null || !this.autoMedicaoDemarcacaoData.equals(other.autoMedicaoDemarcacaoData))) {
            return false;
        }
        if ((this.frente == null) ? (other.frente != null) : !this.frente.equals(other.frente)) {
            return false;
        }
        if ((this.frenteRua == null) ? (other.frenteRua != null) : !this.frenteRua.equals(other.frenteRua)) {
            return false;
        }
        if ((this.frenteMedindo == null) ? (other.frenteMedindo != null) : !this.frenteMedindo.equals(other.frenteMedindo)) {
            return false;
        }
        if ((this.fundo == null) ? (other.fundo != null) : !this.fundo.equals(other.fundo)) {
            return false;
        }
        if ((this.fundoRua == null) ? (other.fundoRua != null) : !this.fundoRua.equals(other.fundoRua)) {
            return false;
        }
        if ((this.fundoMedindo == null) ? (other.fundoMedindo != null) : !this.fundoMedindo.equals(other.fundoMedindo)) {
            return false;
        }
        if ((this.ladoEsquerdo == null) ? (other.ladoEsquerdo != null) : !this.ladoEsquerdo.equals(other.ladoEsquerdo)) {
            return false;
        }
        if ((this.ladoEsquerdoRua == null) ? (other.ladoEsquerdoRua != null) : !this.ladoEsquerdoRua.equals(other.ladoEsquerdoRua)) {
            return false;
        }
        if ((this.ladoEsquerdoMedindo == null) ? (other.ladoEsquerdoMedindo != null) : !this.ladoEsquerdoMedindo.equals(other.ladoEsquerdoMedindo)) {
            return false;
        }
        if ((this.ladoDireito == null) ? (other.ladoDireito != null) : !this.ladoDireito.equals(other.ladoDireito)) {
            return false;
        }
        if ((this.ladoDireitoRua == null) ? (other.ladoDireitoRua != null) : !this.ladoDireitoRua.equals(other.ladoDireitoRua)) {
            return false;
        }
        if ((this.ladoDireitoMedindo == null) ? (other.ladoDireitoMedindo != null) : !this.ladoDireitoMedindo.equals(other.ladoDireitoMedindo)) {
            return false;
        }
        if (this.frenteTotal != other.frenteTotal && (this.frenteTotal == null || !this.frenteTotal.equals(other.frenteTotal))) {
            return false;
        }
        if (this.fundoTotal != other.fundoTotal && (this.fundoTotal == null || !this.fundoTotal.equals(other.fundoTotal))) {
            return false;
        }
        if (this.areaTotal != other.areaTotal && (this.areaTotal == null || !this.areaTotal.equals(other.areaTotal))) {
            return false;
        }
        if (this.ativo != other.ativo && (this.ativo == null || !this.ativo.equals(other.ativo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "AverbacaoAforamento{" + "id=" + id + ", averbacao=" + averbacao + ", tipoAverbacao=" + tipoAverbacao + ", dataAverbacao=" + dataAverbacao + ", descricao=" + descricao + ", despachoNumero=" + despachoNumero + ", despachoData=" + despachoData + ", peticaoRequerimentoNumero=" + peticaoRequerimentoNumero + ", peticaoRequerimentoData=" + peticaoRequerimentoData + ", autoMedicaoDemarcacao=" + autoMedicaoDemarcacao + ", autoMedicaoDemarcacaoLivro=" + autoMedicaoDemarcacaoLivro + ", autoMedicaoDemarcacaoFolha=" + autoMedicaoDemarcacaoFolha + ", autoMedicaoDemarcacaoData=" + autoMedicaoDemarcacaoData + ", frente=" + frente + ", frenteRua=" + frenteRua + ", frenteMedindo=" + frenteMedindo + ", fundo=" + fundo + ", fundoRua=" + fundoRua + ", fundoMedindo=" + fundoMedindo + ", ladoEsquerdo=" + ladoEsquerdo + ", ladoEsquerdoRua=" + ladoEsquerdoRua + ", ladoEsquerdoMedindo=" + ladoEsquerdoMedindo + ", ladoDireito=" + ladoDireito + ", ladoDireitoRua=" + ladoDireitoRua + ", ladoDireitoMedindo=" + ladoDireitoMedindo + ", frenteTotal=" + frenteTotal + ", fundoTotal=" + fundoTotal + ", areaTotal=" + areaTotal + ", ativo=" + ativo + '}';
    }
}
